package com.xiaoshuidi.cloud.module.iot.dal.model.device;

import com.xiaoshuidi.cloud.module.iot.dal.pojo.TbDoorlockPassword;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * @author Sky
 * create 2019/06/04
 * email sky.li@ixiaoshuidi.com
 * 操作第三方设备请求参数封装（可扩展）
 **/
@Data
@Accessors(chain = true)
public class OperateThirdDeviceRequestModel {

    /**
     * 第三方设备唯一编号
     */
    @Schema(description = "第三方设备唯一编号")
    private String deviceThirdNo;
    /**
     * 水滴设备编号
     */
    @Schema(description = "水滴设备编号")
    private String deviceNo;
    /**
     * 水滴设备名称
     */
    @Schema(description = "水滴设备名称")
    private String deviceName;
    /**
     * 用户id
     */
    @Schema(description = "用户id")
    private Integer userId;

    /**
     * 下发人名称
     */
    @Schema(description = "下发人名称")
    private String operatorName;

    /**
     * 事件类型
     */
    @Schema(description = "设备编事件类型号")
    private String eventType;

    /**
     * 操作类型
     */
    @Schema(description = "操作类型")
    private String operateType;

    /**
     * 访问第三方令牌
     */
    @Schema(description = "访问第三方令牌")
    private String accessToken;

    //密码相关操作请求参数
    /**
     * 门锁所有者手机号
     */
    @Schema(description = "手机号")
    private String userMobile;

    /**
     * 手机号（租客） 千丁用户标志(userid)
     */
    @Schema(description = "设备编号")
    private String mobile;
    /**
     * 密码id
     */
    @Schema(description = "密码id")
    private String passwordId;
    /**
     * 密码
     */
    @Schema(description = "密码")
    private String passwordContent;
    /**
     * 密码有效期开始时间
     */
    @Schema(description = "密码有效期开始时间")
    private Long passwordStartTime;
    /**
     * 密码有效期结束时间
     */
    @Schema(description = "密码有效期结束时间")
    private Long passwordEndTime;
    /**
     * 查询开始时间
     */
    @Schema(description = "/**")
    private Long queryBeginTime;
    /**
     * 查询结束时间
     */
    @Schema(description = "查询结束时间")
    private Long queryEndTime;
    /**
     * 开始页码
     */
    @Schema(description = "开始页码")
    private Integer pageNo;
    /**
     * 每页大小
     */
    @Schema(description = "每页大小")
    private Integer pageSize;
    /**
     * api编号
     */
    @Schema(description = "api编号")
    private String apiNo;
    /**
     * 与品牌连接API账号
     */
    @Schema(description = "与品牌连接API账号")
    private String loginName;
    /**
     * api秘钥
     */
    @Schema(description = "api秘钥")
    private String loginKey;
    /**
     * 品牌
     */
    @Schema(description = "品牌")
    private String brand;
    /**
     * 充值金额
     */
    @Schema(description = "充值金额")
    private Double money;
    /**
     * 单价
     */
    @Schema(description = "单价")
    private Double price;
    /**
     * 付费模式:1后付费0预付费
     */
    @Schema(description = "付费模式")
    private Integer payment;
    /**
     * 入住状态:1已入住0未入住
     */
    @Schema(description = "入住状态")
    private Integer resideStatus;
    /**
     * 密码信息
     */
    @Schema(description = "密码信息")
    private TbDoorlockPassword tbDoorlockPassword;
    /**
     * 第三方设备唯一编号list
     */
    @Schema(description = "第三方设备唯一编号list")
    private List<String> deviceThirdNoList;
    /**
     * \
     * 设备类型
     */
    @Schema(description = "设备类型")
    private String deviceType;
    /**
     * 密码类型(1密码2指纹3微信蓝牙4APP蓝牙5门卡6离线密码)
     */
    @Schema(description = "密码类型")
    private String passwordType;
    /**
     * 指纹采集器型号
     */
    @Schema(description = "指纹采集器型号")
    private String fingerprintModel;
    /**
     * 房源名称
     */
    @Schema(description = "房源名称")
    private String roomName;
    /**
     * 用户姓名
     */
    @Schema(description = "用户姓名")
    private String userName;

}
